package com.hlkj.pay.app.pay;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import javax.validation.Valid;

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.pay.req.ProviderChannelConfigReq;
import com.hlkj.pay.vo.pay.req.ProviderChannelFeeConfigReq;
import com.hlkj.pay.vo.pay.req.ProviderInfoReq;
/**
 * @author HlpayTeam
 * @date 2024/09/23 16:28
 */
public interface IProviderAppService {
	/**
	 * save provider
	 * @param providerInfoReq
	 * @return
	 */
	CommonResult<String> saveProviderInfo(ProviderInfoReq providerInfoReq);
	/**
	 * update provider
	 * @param providerInfoReq
	 * @return
	 */
	CommonResult<Void> updateProviderInfo(ProviderInfoReq providerInfoReq);
	/**
	 * del provider
	 * @param id
	 * @return
	 */
	CommonResult<Void> delProviderInfo(String code);
	/**
	 * save config
	 * @param providerChannelConfigReq
	 * @return
	 */
	CommonResult<Void> saveConfig(ProviderChannelConfigReq providerChannelConfigReq);
	/**
	 *
	 * @param providerChannelConfigReq
	 * @return
	 */
	CommonResult<Void> saveFeeConfig(@Valid ProviderChannelFeeConfigReq providerChannelConfigReq);
}
